/*
 * Compresor.h
 *
 *  Created on: 18/05/2013
 *      Author: jonathan
 */

#ifndef COMPRESOR_H_
#define COMPRESOR_H_
#include "bitstream.h"
#include "../typedefs.hpp"
class Compresor {
private:
	BitStream * stream;
	void agregarBinario(EnteroLargo,EnteroLargo);
	EnteroLargo leerNroBinario(EnteroLargo);
	EnteroLargo minimaCantidadBits(EnteroLargo);
public:
	Compresor(BitStream*);
	virtual ~Compresor();
	void escribirUnario(EnteroLargo);
	void escribirGamma(EnteroLargo);
	void escribirDelta(EnteroLargo);
	void escribirGolomb(EnteroLargo, EnteroLargo);
	EnteroLargo leerUnario();
	EnteroLargo leerGamma();
	EnteroLargo leerDelta();
	EnteroLargo leerGolomb(EnteroLargo);
};

#endif /* COMPRESOR_H_ */

